Skip to content

Commit 3682745

Browse files
committed
Merge branch 'ls-dev' into 'master'
Release v1.1.12: Agent delegation, /btw, mid-turn injection, hot-restart fixes See merge request ai_native/DeepVCode/DeepVcodeClient!498
2 parents 67c7d85 + 8300328 commit 3682745

434 files changed

Lines changed: 6685 additions & 879 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -966,28 +966,48 @@ $env:ANTHROPIC_API_KEY="sk-ant-your-key-here"
966966

967967
---
968968

969-
## 🤝 派发任务给本机 Claude Code
969+
## 🤝 派发任务给本机 Claude Code / Codex
970970

971-
Easy Code 可以作为 **ACP 编排方**,把编码任务派发给你本机安装并登录的 **Claude Code** 执行——尤其适合飞书网关模式:你在飞书里说一句话,Easy Code 要么自己干,要么转交给 Claude Code 干。
971+
Easy Code 可以作为 **ACP 编排方**,把编码任务派发给你本机安装并登录的 **Claude Code** **Codex** 执行——尤其适合飞书网关模式:你在飞书里说一句话,Easy Code 要么自己干,要么转交给本机的 cc / codex 干。
972972

973973
### 前提
974974

975-
- 本机已安装并登录 **Claude Code**(派发会复用其本地登录态,不需要额外配置密钥)。
976-
- Easy Code 通过 Zed 官方的 `@zed-industries/claude-code-acp` 桥按需拉起(默认 `npx` 运行,不打入安装包)。
977-
- 可用环境变量 `EASYCODE_CLAUDE_CODE_ACP_CMD` 覆盖启动命令(例如指向全局安装或本地构建)。
975+
- 本机已安装并登录 **Claude Code** 和/或 **Codex**(派发会复用其本地登录态,不需要额外配置密钥)。
976+
- Easy Code 通过官方 ACP 桥按需拉起(默认 `npx` 运行,不打入安装包):
977+
- Claude Code → `@agentclientprotocol/claude-agent-acp`,可用 `EASYCODE_CLAUDE_CODE_ACP_CMD` 覆盖启动命令。
978+
- Codex → `@zed-industries/codex-acp`,可用 `EASYCODE_CODEX_ACP_CMD` 覆盖启动命令。
978979

979-
### 两种派发方式
980+
### 派发方式
980981

981982
| 方式 | 说明 |
982983
|:---|:---|
983-
| **模型自主** | Easy Code 的 AI 会按任务自行判断,必要时调用内置工具 `delegate_to_claude_code` 派发。 |
984-
| **显式强制(飞书)** | 消息前加 `@cc`(或 `/cc`前缀单条强制派发,例如`@cc 给 src/foo.ts 加单元测试`|
985-
| **群默认(飞书)** | `/bind <项目路径> --agent claude-code` 把整个群的默认执行方设为 Claude Code`/bind --agent self` 改回 Easy Code 自己。 |
984+
| **模型自主** | Easy Code 的 AI 会按任务自行判断,必要时调用内置工具 `delegate_to_agent` 派发(可选 `agent: claude-code\|codex`|
985+
| **显式强制(飞书)** | 消息前加 `@cc`(或 `/cc`派发给 Claude Code、`@codex`(或 `/codex``@cdx`)派发给 Codex。例`@cc 给 src/foo.ts 加单元测试``@codex 写个基准测试`|
986+
| **群默认(飞书)** | `/bind <项目路径> --agent claude-code\|codex` 把整个群的默认执行方设为对应 agent`/bind --agent self` 改回 Easy Code 自己。 |
986987

987-
派发期间,Claude Code 的执行进度(消息与工具调用)会通过飞书 CardKit 卡片**实时流式**回传,最终结果汇总返回。
988+
派发期间,外部 agent 的执行进度(消息与工具调用)会通过飞书 CardKit 卡片**实时流式**回传,最终结果汇总返回。
988989

989-
> ⚠️ 在飞书无人值守场景下,派发的 Claude Code 默认**自动放行权限并可改文件**,请仅对可信项目使用。
990-
> ℹ️ 后续将支持把 `codex` 作为另一个可派发的本机 agent(同一套 ACP 客户端)。
990+
### 📊 多会话管理(飞书 `/sessions`
991+
992+
在飞书里发送 **`/sessions`**(别名 **`/会话`**)会推送一张 **CardKit 2.0 Dashboard 卡片**,集中展示本机的 Agent 会话:
993+
994+
- **🚀 本机任务**:正在运行 / 最近的派发任务,带实时状态——状态徽章(🟢运行中 / ✅完成 / ❌失败)、当前工具、计划进度(`2/5`)、token 占用(`30%`)、已运行时长。卡片会在任务运行期间**自动刷新**
995+
- **🗂️ 可续接的历史会话**:自动发现 Claude Code / Codex 各自本机已有的会话(标题、最近活动时间),并为每条给出续接指令。
996+
997+
> 派发任务记录会持久化到 `~/.easycode-user/delegate-tasks/`**网关重启后历史任务仍可在 `/sessions` 查看**(重启期间运行中的任务会被标记为失败)。
998+
999+
### 🔄 续接已有会话
1000+
1001+
想接着某个历史会话继续(保留完整上下文),用 `resume` 子语法:
1002+
1003+
```text
1004+
@cc:resume <sessionId> 继续把单元测试补全
1005+
@codex:resume <sessionId> 把上次的重构收尾
1006+
```
1007+
1008+
`<sessionId>``/sessions` 卡片里列出的会话 id。外部 agent 会先 `session/load` 恢复该会话的完整历史,再执行你的新任务。绑定了默认 agent 的群也可直接发 `resume <sessionId> <任务>`
1009+
1010+
> ⚠️ 在飞书无人值守场景下,派发的外部 agent 默认**自动放行权限并可改文件**,请仅对可信项目使用。
9911011
9921012
---
9931013

esbuild.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ esbuild
5757
format: 'esm',
5858
minify: buildEnv === 'production', // 生产环境启用混淆
5959
keepNames: false, // 生产环境不保留函数名
60+
target: 'esnext',
6061
external: ['@vscode/ripgrep', 'sharp'],
6162
alias: {
6263
'is-in-ci': path.resolve(

package-lock.json

Lines changed: 11 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
"eslint-plugin-react-hooks": "^5.2.0",
120120
"glob": "^10.4.5",
121121
"globals": "^16.0.0",
122-
"ink": "npm:@jrichman/ink@6.4.7",
122+
"ink": "npm:@jrichman/ink@6.6.9",
123123
"json": "^11.0.0",
124124
"lodash": "^4.17.21",
125125
"memfs": "^4.17.2",
@@ -150,7 +150,7 @@
150150
"ajv": "^6.12.6"
151151
},
152152
"ajv": "^8.17.1",
153-
"ink": "npm:@jrichman/ink@6.4.7",
153+
"ink": "npm:@jrichman/ink@6.6.9",
154154
"wrap-ansi": "^7.0.0"
155155
}
156156
}

packages/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"gray-matter": "^4.0.3",
4242
"highlight.js": "^11.11.1",
4343
"iconv-lite": "^0.7.0",
44-
"ink": "npm:@jrichman/ink@6.4.7",
44+
"ink": "npm:@jrichman/ink@6.6.9",
4545
"ink-big-text": "^2.0.0",
4646
"ink-gradient": "^3.0.0",
4747
"ink-link": "^4.1.0",

packages/cli/src/auth/feishuAuth.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2025 Easy Code team
3+
* Copyright 2026 Easy Code team
44
* https://github.com/OrionStarAI/DeepVCode
55
* SPDX-License-Identifier: Apache-2.0
66
*/

packages/cli/src/auth/tokenManager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2025 Easy Code team
3+
* Copyright 2026 Easy Code team
44
* https://github.com/OrionStarAI/DeepVCode
55
* SPDX-License-Identifier: Apache-2.0
66
*/

packages/cli/src/commands/checkpoint.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2025 Easy Code team
3+
* Copyright 2026 Easy Code team
44
* https://github.com/OrionStarAI/DeepVCode
55
* SPDX-License-Identifier: Apache-2.0
66
*/

packages/cli/src/commands/checkpoint/clean.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2025 Easy Code team
3+
* Copyright 2026 Easy Code team
44
* https://github.com/OrionStarAI/DeepVCode
55
* SPDX-License-Identifier: Apache-2.0
66
*/

packages/cli/src/config/customModelsStorage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2025 Easy Code team
3+
* Copyright 2026 Easy Code team
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66

0 commit comments

Comments
 (0)