Junie 知识库
Junie 可以运行在 JetBrains IDE、交互式 CLI、headless CI、GitHub Actions 与 GitLab pipelines。Project trust、guidelines、Skills、MCP、approval modes、sandbox policy 与 review agents 会让每次执行不同。长期知识必须先标明 execution surface。
Execution surfaces
IDE、CLI 与 CI run 不会继承完全相同的 trust 和 approval model。
Junie 在 JetBrains IDE、交互终端与 headless pipeline 中工作。记录 surface、authentication、repository checkout、model/provider,以及执行中是否有人可以介入。
| Surface | 人工交互 | 主要证据 |
|---|---|---|
| JetBrains IDE | 交互式 | IDE actions、inspections、diff |
| Junie CLI | 交互式或 headless | Session events、commands、files |
| GitHub Action | Pipeline-triggered | PR、checks、action logs |
| GitLab CI/CD | Issue/MR-triggered | Pipeline、MR、artifacts |
Project trust
Repository 可以写入,但其中的 Junie config 仍可保持 untrusted。
交互式 CLI 在加载 project config、MCP、hooks、agents、commands、Skills、guidelines 与 memory 前要求 trust decision。Untrusted project 使用临时 Junie storage。Non-interactive 与 ACP 因无法提问而默认 trusted,因此 pipeline governance 必须明确。
解析 symlink 与 scope
Exact project 或 parent scope
只加载 trusted project sources
应用 surface controls
负责人接受共享状态
Guidelines 与 memory
AGENTS.md 提供持久指导,memory 仍是需要整理的上下文。
Junie 按顺序解析 `.junie/AGENTS.md`、root AGENTS.md 加 playbook/rules,以及 legacy guidelines,再组合 project/global guidance。Instructions 应简短并版本化,变化决定进入 reviewed records。
Repository conventions 与 commands
个人或组织偏好
为后续 session 提取的 context
有 owner 与 freshness 的已接受状态
Agent Skills
Portable Skills 编码聚焦流程和支持文件,不拥有当前 approval state。
Junie 从 project、user、`.agents`、extension 与 custom locations 加载 Skills,可自动运行或通过 slash command 调用,并执行 bundled scripts。第三方 Skill 要先审核内容并固定 revision。
Procedure、templates、scripts、domain checklist
Accepted outcome、owner、lifecycle
Approval stack
Action Allowlist、Brave mode 与 sandbox 分别减少交互成本和 blast radius。
Allowlist 让匹配动作跳过 prompt;Brave mode 控制提问频率;sandbox 只包裹 terminal commands,不覆盖 file edits、MCP servers、hooks 或 Junie-managed Git operations。这些控制都不会批准业务结论。
| Control | 改变什么 | 不能证明什么 |
|---|---|---|
| Action Allowlist | 匹配动作后续是否提问 | 结果是否正确 |
| Brave mode | Ask / auto / broad execution | Credentials 是否合适 |
| Sandbox | Terminal filesystem/network blast radius | 所有 Junie action 都被隔离 |
| Change Request | 是否进入共享 records | 执行是否可复现 |
MCP scopes
Project 与 user MCP config 的共享和 secret 风险不同。
Junie 用 `.junie/mcp/mcp.json` 表示 project scope,用 `~/.junie/mcp/mcp.json` 表示 user scope,支持 local/remote servers 与 OAuth,并展示 runtime status。ACP client 只能列出 session 与本地 server,不能通过 assistant 编辑 config。
可共享 config;绝不提交 secrets
私有机器级配置
Client-supplied 与 local runtime list
执行后有证据的状态
Review evidence
Junie code review agent 做只读分析;接受 suggestion 仍是另一项动作。
Review agent 读取 diff 与 project context,但不会编辑文件、运行 build/tests、commit 或 push。保留 review target、finding、接受/驳回、后续 patch、tests 与最终 repository revision。
知识契约
把 repository outcome 连接到产生它的 Junie surface 与 control state。
记录保持精简,同时保留足够 provenance 供复现和质疑。
outcome_key稳定身份execution_surfaceIDE、CLI、GitHub 或 GitLabsession_or_runSession、pipeline 或 action reftrust_configProject trust 与 config digestguidance_refs使用的 AGENTS.md、Skills、memoryaction_evidenceCommands、MCP calls、diffs、logsverificationReview findings、tests、readbackowner_decision负责人接受与时效实际问题
Junie 知识库常见问题
Busabase 会取代 Junie guidelines 吗?
不会。Guidelines 影响 Junie 行为;Busabase 保存少量已审核结果。
Untrusted project 会让 Junie 无法读文件吗?
不会。当前文档说明普通 workspace file operations 仍可用,只是不加载 project-provided Junie config。
Sandbox 会覆盖 MCP 与 file edits 吗?
不会。Junie 文档明确 sandbox 只包裹 terminal commands。
Action Allowlist 会批准 MCP result 吗?
不会。它只可能移除确认 prompt,结果仍需证据与审核。
Code review finding 能直接成为记录吗?
Finding 作为证据,还要记录被接受的 patch、verification、owner 与 final revision。
从一个已验证 Junie run 开始
标明 surface、trust decision、controls 与最终 repository evidence。
选择一项达到稳定结果的 IDE、CLI 或 CI task,保存执行边界,只把可复用结果送审。

