update QoL and ai integration
This commit is contained in:
51
README.md
51
README.md
@@ -273,15 +273,24 @@ max_calls = 8
|
||||
max_request_bytes = 180000
|
||||
max_run_bytes = 900000
|
||||
max_file_bytes = 150000
|
||||
max_context_rounds = 2 # automatic file-request rounds for a thread
|
||||
max_context_files = 8 # additional files per thread discussion
|
||||
store_directory = ""
|
||||
exclude = [
|
||||
"*.lock", "go.sum", "package-lock.json", "vendor/", "node_modules/",
|
||||
"dist/", "build/", "generated/", "coverage/", "*.generated.*",
|
||||
"*_generated.*", "*.min.js", "*.map", ".env", ".env.*", "*.pem",
|
||||
"*.key", "*.p12", "*.pfx", "*credentials*",
|
||||
"*_generated.*", "*.min.js", "*.map",
|
||||
]
|
||||
sensitive_paths = [
|
||||
".env", ".env.*", "*.pem", "*.key", "*.p12", "*.pfx",
|
||||
"*credentials*",
|
||||
]
|
||||
```
|
||||
|
||||
As with other TOML arrays, setting `exclude` or `sensitive_paths` replaces its
|
||||
default list. Copy the defaults you still want before adding project-specific
|
||||
patterns.
|
||||
|
||||
`dashboard_mode = "hotkey"` opens threads directly from the picker and leaves
|
||||
the dashboard on `d`. `"intermediate"` places the dashboard between the picker
|
||||
and thread viewer.
|
||||
@@ -298,6 +307,13 @@ Thread categories are:
|
||||
- `outdated`: unresolved threads attached to outdated code; and
|
||||
- `resolved`: all resolved threads, including resolved-and-outdated threads.
|
||||
|
||||
New threads retain a `NEW THREAD` marker. When an existing thread receives new
|
||||
comments, diple places a `NEW MESSAGES` divider before the first unread comment
|
||||
and emphasizes the unread comment rail. Moving the thread-list cursor does not
|
||||
clear this state. It is cleared after the last unread comment becomes visible
|
||||
while scrolling the focused detail pane, or manually with
|
||||
`keybindings.threads.mark_read` (`m` by default).
|
||||
|
||||
Within a category, `"file"` keeps paths together and `"timestamp"` sorts by
|
||||
the time the thread was opened.
|
||||
|
||||
@@ -394,6 +410,7 @@ search = ["/"]
|
||||
clear_filter = ["F"]
|
||||
next_unread = ["n"]
|
||||
previous_unread = ["N"]
|
||||
mark_read = ["m"]
|
||||
reply = ["c"]
|
||||
resolve = ["R"]
|
||||
toggle = ["enter"]
|
||||
@@ -490,19 +507,31 @@ The `A` menu can:
|
||||
- review the current PR and create local-only review threads;
|
||||
- discuss an existing local AI thread with the same selected model;
|
||||
- add local-only context to existing unresolved GitHub threads;
|
||||
- let a focused thread discussion request bounded, exact-head repository files;
|
||||
- produce small GitHub-style suggestion blocks for contained changes;
|
||||
- refresh provider status without making an inference call; and
|
||||
- run one explicitly confirmed, minimal provider test that consumes quota but
|
||||
sends no PR contents.
|
||||
|
||||
Before a review, diple shows the exact head commit, selected model, included and
|
||||
excluded files, byte count, maximum model-call count, and redaction count.
|
||||
Every run requires confirmation.
|
||||
Before a review, diple shows the exact head commit, selected model, initial
|
||||
included and excluded files, byte count, maximum model-call count, and
|
||||
redaction count. Every run requires confirmation. A focused thread confirmation
|
||||
also shows its repository-tree summary and the configured automatic
|
||||
file-request limits.
|
||||
|
||||
AI input comes from the authenticated GitHub PR diff and PR metadata, not from
|
||||
the local checkout. diple excludes configured sensitive, generated, vendored,
|
||||
lock, binary, and oversized files; redacts secret-like values; chunks bounded
|
||||
requests; and validates findings against lines changed in the prepared head.
|
||||
Full reviews use the authenticated GitHub PR diff. Focused discussions instead
|
||||
send only the selected thread, its hunk, the complete target file when allowed,
|
||||
minimal PR identifiers, and a bounded tree for the exact PR head. The model can
|
||||
request additional paths from that tree, but diple validates and retrieves
|
||||
their committed blobs through GitHub; the provider never receives local
|
||||
checkout access.
|
||||
|
||||
`sensitive_paths` are absent from the model-visible tree and can never be
|
||||
requested. `exclude` paths may appear as unavailable tree entries but their
|
||||
contents are not sent. Binary, submodule, oversized, generated, vendored, and
|
||||
lock-file content remains unavailable. All supplied content is bounded,
|
||||
control-sanitized, and checked for secret-like values. Full-review findings
|
||||
remain restricted to visibly changed lines in the prepared head.
|
||||
|
||||
The Codex process runs ephemerally in an empty temporary directory with:
|
||||
|
||||
@@ -516,7 +545,9 @@ The Codex process runs ephemerally in an empty temporary directory with:
|
||||
|
||||
Attempted tool or file-change events fail the run. Provider output is bounded
|
||||
and sanitized. Progress may display a provider-exposed reasoning summary, but
|
||||
diple neither requests nor displays hidden chain-of-thought.
|
||||
diple neither requests nor displays hidden chain-of-thought. Progress and
|
||||
Health report GitHub, filtering, and provider timing without storing prompts or
|
||||
repository contents.
|
||||
|
||||
AI findings are stored locally, deduplicated deterministically, and marked
|
||||
outdated when the PR head changes. Resolving a local AI thread remains local.
|
||||
|
||||
Reference in New Issue
Block a user