deepccc 0.2.25 → 0.2.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -7
- package/bin/deepccc-cli.mjs +17 -17
- package/bin/deepccc.mjs +32 -32
- package/dist/attachments.d.ts +1 -1
- package/dist/attachments.js +7 -5
- package/dist/cli.js +52 -7
- package/dist/completion-session.js +5 -3
- package/dist/config.d.ts +3 -1
- package/dist/config.js +4 -0
- package/dist/context.js +4 -1
- package/dist/decision-session.js +5 -3
- package/dist/file-tools.d.ts +3 -1
- package/dist/file-tools.js +5 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.js +39 -4
- package/dist/json-mode-fetch.d.ts +2 -0
- package/dist/json-mode-fetch.js +12 -0
- package/dist/multimodal.d.ts +51 -0
- package/dist/multimodal.js +291 -0
- package/dist/progress/reducer.js +2 -0
- package/dist/web-page.js +411 -411
- package/dist/web-runtime.d.ts +1 -1
- package/dist/web-runtime.js +3 -0
- package/dist/web-server.d.ts +1 -0
- package/dist/web-server.js +2 -0
- package/docs/completion-session.md +40 -36
- package/docs/decision-session.md +196 -192
- package/docs/workspace-understanding.md +41 -41
- package/os-prompts/darwin.md +8 -8
- package/os-prompts/linux.md +8 -8
- package/os-prompts/win32.md +11 -11
- package/package.json +68 -68
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
# 项目理解与搜索
|
|
2
|
-
|
|
3
|
-
DeepCCC CLI、Web 与 ChatCCC 内置 CCC 共用这些能力。无需配置向量服务、下载模型或修改项目指令文件;地图与证据保存在本机 `~/.deepccc/workspace-index/<工作目录哈希>/`。不在不同工作目录间自动合并知识(包括 worktree)。选入上下文的片段仍会随正常模型请求发送给用户配置的模型服务;“本地索引”不意味着模型请求离线。
|
|
4
|
-
|
|
5
|
-
## 搜索范围不是权限边界
|
|
6
|
-
|
|
7
|
-
- `search_code({query: "Policy"})`:默认 `project`,跳过常见依赖/构建目录及隐藏条目;ripgrep 还遵循 ignore 文件。
|
|
8
|
-
- `search_code({query: "Policy", scope: "all"})`:包含依赖、隐藏及被忽略文件。不自动跟随目录符号链接,也不提升操作系统权限。
|
|
9
|
-
- `search_code({query: "forward", path: ".venv/Lib/site-packages/example"})`:指定非工作目录根的路径时,缺省按 `all` 搜索。调用者可显式选择 `project`。
|
|
10
|
-
- `scope`、`excluded`、`engine`、`warnings`、`truncated` 描述实际查询边界。无命中不证明项目中不存在相关能力。
|
|
11
|
-
- Node 降级搜索支持相同的 project/all 范围切换,但不解析 `.gitignore`/`.ignore`,会明确返回警告;正则为 JavaScript 语法。正常路径优先使用内置 ripgrep,不拼接 shell 命令。
|
|
12
|
-
|
|
13
|
-
明确指定文件时保留文件名输出,避免单文件命中被解析器丢弃。无效正则、超时、取消等不会伪装成正常无命中;降级路径跳过不可读条目时返回警告。
|
|
14
|
-
|
|
15
|
-
## 有限预算的项目地图
|
|
16
|
-
|
|
17
|
-
`workspace_map({query: "Policy", path: "可选目录", maxChars: 6000})` 提供文件清单、部分定义/导入/文档标题线索和证据笔记。支持 TS/JS、Python、Go、Rust、Java、C#、C/C++、Ruby、PHP 等文本线索;其他文件仍可按名称发现并用读取/搜索工具检查。
|
|
18
|
-
|
|
19
|
-
这是**词法导航,不是 AST、完整调用图或语义向量索引**。定义优先于导入,查询相关片段优先展示。默认不遍历隐藏、虚拟环境或构建目录;可指定其目录生成地图。地图不解析 Git ignore 规则,这一点在输出中明确提示。JSON/TOML 配置值不作为符号片段展示;package.json 只提取有限的入口和脚本名称。
|
|
20
|
-
|
|
21
|
-
每次刷新重新枚举并检查内容哈希,复用未变化文件的提取结果;能识别同长度修改、删除、新增及切换分支后的变化。默认上限为 1500 个目录/文件条目、约 2 秒扫描检查预算、8 MiB 已读源码,单文件 128 KiB。预算不是磁盘 I/O 的强制超时;网络挂载或慢盘可能超过此时间。超预算用 `partial` 表示;展示省略用 `displayTruncated` 表示。大仓库需要查询相关子目录,不能从部分地图得出全局否定结论。
|
|
22
|
-
|
|
23
|
-
项目相关问题或“继续”类消息会自动获得最多 3000 字符的导航;其他任务随时可调用工具。识别属于轻量启发式,不保证覆盖所有问法。自动导航不进入持久化历史,避免每轮累加;缓存损坏或不可写时继续使用实时读取/搜索,不阻断对话。
|
|
24
|
-
|
|
25
|
-
## 带来源的长期笔记
|
|
26
|
-
|
|
27
|
-
`remember_project_fact({fact, path, excerpt})` 保存简短的项目能力/关系解释,以及当前文件中确实匹配的原文、SHA-256 和记录时间。证据文件必须位于当前工作目录内(解析符号链接后校验)。不可读、超大文件或不匹配原文会拒绝保存。
|
|
28
|
-
|
|
29
|
-
笔记只存在用户缓存目录,独立于聊天摘要,因此可在压缩或重开会话后通过地图检索。同工作目录的会话共享笔记。展示前重新校验源文件;修改、删除或移动后旧笔记不再注入,但磁盘记录保留以便诊断。最多检查最近 20 条笔记,展示还受预算限制。请勿保存密钥、授权令牌、用户指令或未经证实的断言。
|
|
30
|
-
|
|
31
|
-
原文匹配**只验证来源,不证明模型解释正确**;输出明确标注“agent interpretation”。针对同一文件和同一原文重新保存解释,会替换此前笔记。即使文件未变,相关配置/调用方也可能变化,重要决策仍需重新查证。压缩器会区分任务进度、已核实项目事实与推测,并优先保留纠正和源码入口。
|
|
32
|
-
|
|
33
|
-
## 测试边界
|
|
34
|
-
|
|
35
|
-
自动化测试覆盖依赖目录显式访问、搜索失败/无命中/截断、单文件输出解析、地图更新、证据失效、预算与取消,以及导航不会在历史中累积。这些是工具和上下文护栏,不是所有模型都能正确理解项目的保证;未对某个在线模型宣称准确率提升。
|
|
36
|
-
|
|
37
|
-
## 长会话状态与轮内预算
|
|
38
|
-
|
|
39
|
-
压缩器每次重写完整摘要,使用固定章节区分当前事实、仍待处理、已取代历史、项目事实、证据/推断/局限和重要操作。最近原始消息、明确纠正及当前磁盘事实优先;旧摘要中的助手评价不是事实或用户指令。旧格式摘要仍可读取,但在模型输入中会明确标记为历史材料,避免把已完成或回退的路线恢复成当前建议。
|
|
40
|
-
|
|
41
|
-
同一轮 Agent 可能连续执行多个工具,AI SDK 会把先前结果重复发送到后续模型步骤。DeepCCC 在每一步前对这些结果执行结构保持的预算控制:每项最多约 24,000 字符,总量约 96,000 字符,最近 4 项优先。较早结果必要时替换为可识别的省略标记,assistant tool-call 与对应 `role: tool` 结果仍成对保留。该处理只影响本轮后续模型请求;用户界面事件、最终持久化记录和受独立上限保护的 raw stream log 不被这一步改写。需要细节时 Agent 应重新执行更聚焦的读取或搜索。
|
|
1
|
+
# 项目理解与搜索
|
|
2
|
+
|
|
3
|
+
DeepCCC CLI、Web 与 ChatCCC 内置 CCC 共用这些能力。无需配置向量服务、下载模型或修改项目指令文件;地图与证据保存在本机 `~/.deepccc/workspace-index/<工作目录哈希>/`。不在不同工作目录间自动合并知识(包括 worktree)。选入上下文的片段仍会随正常模型请求发送给用户配置的模型服务;“本地索引”不意味着模型请求离线。
|
|
4
|
+
|
|
5
|
+
## 搜索范围不是权限边界
|
|
6
|
+
|
|
7
|
+
- `search_code({query: "Policy"})`:默认 `project`,跳过常见依赖/构建目录及隐藏条目;ripgrep 还遵循 ignore 文件。
|
|
8
|
+
- `search_code({query: "Policy", scope: "all"})`:包含依赖、隐藏及被忽略文件。不自动跟随目录符号链接,也不提升操作系统权限。
|
|
9
|
+
- `search_code({query: "forward", path: ".venv/Lib/site-packages/example"})`:指定非工作目录根的路径时,缺省按 `all` 搜索。调用者可显式选择 `project`。
|
|
10
|
+
- `scope`、`excluded`、`engine`、`warnings`、`truncated` 描述实际查询边界。无命中不证明项目中不存在相关能力。
|
|
11
|
+
- Node 降级搜索支持相同的 project/all 范围切换,但不解析 `.gitignore`/`.ignore`,会明确返回警告;正则为 JavaScript 语法。正常路径优先使用内置 ripgrep,不拼接 shell 命令。
|
|
12
|
+
|
|
13
|
+
明确指定文件时保留文件名输出,避免单文件命中被解析器丢弃。无效正则、超时、取消等不会伪装成正常无命中;降级路径跳过不可读条目时返回警告。
|
|
14
|
+
|
|
15
|
+
## 有限预算的项目地图
|
|
16
|
+
|
|
17
|
+
`workspace_map({query: "Policy", path: "可选目录", maxChars: 6000})` 提供文件清单、部分定义/导入/文档标题线索和证据笔记。支持 TS/JS、Python、Go、Rust、Java、C#、C/C++、Ruby、PHP 等文本线索;其他文件仍可按名称发现并用读取/搜索工具检查。
|
|
18
|
+
|
|
19
|
+
这是**词法导航,不是 AST、完整调用图或语义向量索引**。定义优先于导入,查询相关片段优先展示。默认不遍历隐藏、虚拟环境或构建目录;可指定其目录生成地图。地图不解析 Git ignore 规则,这一点在输出中明确提示。JSON/TOML 配置值不作为符号片段展示;package.json 只提取有限的入口和脚本名称。
|
|
20
|
+
|
|
21
|
+
每次刷新重新枚举并检查内容哈希,复用未变化文件的提取结果;能识别同长度修改、删除、新增及切换分支后的变化。默认上限为 1500 个目录/文件条目、约 2 秒扫描检查预算、8 MiB 已读源码,单文件 128 KiB。预算不是磁盘 I/O 的强制超时;网络挂载或慢盘可能超过此时间。超预算用 `partial` 表示;展示省略用 `displayTruncated` 表示。大仓库需要查询相关子目录,不能从部分地图得出全局否定结论。
|
|
22
|
+
|
|
23
|
+
项目相关问题或“继续”类消息会自动获得最多 3000 字符的导航;其他任务随时可调用工具。识别属于轻量启发式,不保证覆盖所有问法。自动导航不进入持久化历史,避免每轮累加;缓存损坏或不可写时继续使用实时读取/搜索,不阻断对话。
|
|
24
|
+
|
|
25
|
+
## 带来源的长期笔记
|
|
26
|
+
|
|
27
|
+
`remember_project_fact({fact, path, excerpt})` 保存简短的项目能力/关系解释,以及当前文件中确实匹配的原文、SHA-256 和记录时间。证据文件必须位于当前工作目录内(解析符号链接后校验)。不可读、超大文件或不匹配原文会拒绝保存。
|
|
28
|
+
|
|
29
|
+
笔记只存在用户缓存目录,独立于聊天摘要,因此可在压缩或重开会话后通过地图检索。同工作目录的会话共享笔记。展示前重新校验源文件;修改、删除或移动后旧笔记不再注入,但磁盘记录保留以便诊断。最多检查最近 20 条笔记,展示还受预算限制。请勿保存密钥、授权令牌、用户指令或未经证实的断言。
|
|
30
|
+
|
|
31
|
+
原文匹配**只验证来源,不证明模型解释正确**;输出明确标注“agent interpretation”。针对同一文件和同一原文重新保存解释,会替换此前笔记。即使文件未变,相关配置/调用方也可能变化,重要决策仍需重新查证。压缩器会区分任务进度、已核实项目事实与推测,并优先保留纠正和源码入口。
|
|
32
|
+
|
|
33
|
+
## 测试边界
|
|
34
|
+
|
|
35
|
+
自动化测试覆盖依赖目录显式访问、搜索失败/无命中/截断、单文件输出解析、地图更新、证据失效、预算与取消,以及导航不会在历史中累积。这些是工具和上下文护栏,不是所有模型都能正确理解项目的保证;未对某个在线模型宣称准确率提升。
|
|
36
|
+
|
|
37
|
+
## 长会话状态与轮内预算
|
|
38
|
+
|
|
39
|
+
压缩器每次重写完整摘要,使用固定章节区分当前事实、仍待处理、已取代历史、项目事实、证据/推断/局限和重要操作。最近原始消息、明确纠正及当前磁盘事实优先;旧摘要中的助手评价不是事实或用户指令。旧格式摘要仍可读取,但在模型输入中会明确标记为历史材料,避免把已完成或回退的路线恢复成当前建议。
|
|
40
|
+
|
|
41
|
+
同一轮 Agent 可能连续执行多个工具,AI SDK 会把先前结果重复发送到后续模型步骤。DeepCCC 在每一步前对这些结果执行结构保持的预算控制:每项最多约 24,000 字符,总量约 96,000 字符,最近 4 项优先。较早结果必要时替换为可识别的省略标记,assistant tool-call 与对应 `role: tool` 结果仍成对保留。该处理只影响本轮后续模型请求;用户界面事件、最终持久化记录和受独立上限保护的 raw stream log 不被这一步改写。需要细节时 Agent 应重新执行更聚焦的读取或搜索。
|
package/os-prompts/darwin.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
## macOS 命令行提示
|
|
2
|
-
|
|
3
|
-
你运行在 macOS 上。run_command 通过 zsh(POSIX shell)执行。引号遵循标准 POSIX 约定(与你在 bash 中已有的习惯相同):
|
|
4
|
-
|
|
5
|
-
- 双引号会被剥离并用于组合含空格参数:`echo "hello world"` 打印 `hello world`。
|
|
6
|
-
- 单引号是字面量引用字符:`'a b'` 是单个参数 `a b`。
|
|
7
|
-
- 反引号和 `$(...)` 执行命令替换;需要字面文本时请加引号。
|
|
8
|
-
- 路径使用 `/` 分隔符,`~` 展开为主目录。
|
|
1
|
+
## macOS 命令行提示
|
|
2
|
+
|
|
3
|
+
你运行在 macOS 上。run_command 通过 zsh(POSIX shell)执行。引号遵循标准 POSIX 约定(与你在 bash 中已有的习惯相同):
|
|
4
|
+
|
|
5
|
+
- 双引号会被剥离并用于组合含空格参数:`echo "hello world"` 打印 `hello world`。
|
|
6
|
+
- 单引号是字面量引用字符:`'a b'` 是单个参数 `a b`。
|
|
7
|
+
- 反引号和 `$(...)` 执行命令替换;需要字面文本时请加引号。
|
|
8
|
+
- 路径使用 `/` 分隔符,`~` 展开为主目录。
|
package/os-prompts/linux.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
## Linux 命令行提示
|
|
2
|
-
|
|
3
|
-
你运行在 Linux 上。run_command 通过 POSIX shell(bash/sh)执行。引语遵循标准 POSIX 约定(与你在 bash 中已有的习惯相同):
|
|
4
|
-
|
|
5
|
-
- 双引号会被剥离并用于组合含空格参数:`echo "hello world"` 打印 `hello world`。
|
|
6
|
-
- 单引号是字面量引用字符:`'a b'` 是单个参数 `a b`。
|
|
7
|
-
- 反引号和 `$(...)` 执行命令替换;需要字面文本时请加引号。
|
|
8
|
-
- 路径使用 `/` 分隔符,`~` 展开为主目录。
|
|
1
|
+
## Linux 命令行提示
|
|
2
|
+
|
|
3
|
+
你运行在 Linux 上。run_command 通过 POSIX shell(bash/sh)执行。引语遵循标准 POSIX 约定(与你在 bash 中已有的习惯相同):
|
|
4
|
+
|
|
5
|
+
- 双引号会被剥离并用于组合含空格参数:`echo "hello world"` 打印 `hello world`。
|
|
6
|
+
- 单引号是字面量引用字符:`'a b'` 是单个参数 `a b`。
|
|
7
|
+
- 反引号和 `$(...)` 执行命令替换;需要字面文本时请加引号。
|
|
8
|
+
- 路径使用 `/` 分隔符,`~` 展开为主目录。
|
package/os-prompts/win32.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
## Windows 命令行提示
|
|
2
|
-
|
|
3
|
-
你运行在 Windows 上。优先绕过 shell,只有需要 shell 运算符时才进入 cmd.exe:
|
|
4
|
-
|
|
5
|
-
- 单个程序优先用 `run_process`,把可执行文件和每个参数分别放进 `executable` / `args`。它使用 `shell:false`,不会让 cmd.exe 再解释引号、反斜杠、`&`、`%VAR%` 等内容。
|
|
6
|
-
- 多行或引号密集的 Python/Node 代码必须用 `run_script`。不要塞进 `python -c` / `node -e`;Windows 下复杂内联代码会被 `run_command` 拒绝,避免命令返回 0 却实际执行了不同代码。
|
|
7
|
-
- `run_command` 仅用于 `&&`、管道、重定向等必须由 shell 解析的场景;它通过 cmd.exe 执行,不是 bash,也不是 PowerShell。
|
|
8
|
-
- 双引号在 cmd.exe、Node 的 shell 封装和目标程序的 argv 解析之间会经历多层处理;是否保留或剥离取决于具体调用链,不能假设会“原样到达”。单引号在 cmd.exe 中不是可靠的引用字符。
|
|
9
|
-
- 使用各命令工具的 `cwd` 参数切换工作目录,不要前置 `cd /d ... &&`。只有手工编写纯 cmd 命令时,跨盘 `cd` 才需要 `/d`。
|
|
10
|
-
- PowerShell 专用语法(Get-Item、2>$null、Select-Object)不能直接写进 `run_command`;确需使用时,用 `run_process` 显式执行 `powershell.exe` 并逐项传参。
|
|
11
|
-
- npm 11.x 在 Windows 上忽略 `--prefix` 对 `npm publish` 的作用。发布时把工具的 `cwd` 参数设为目标包目录,再执行 `npm publish`。
|
|
1
|
+
## Windows 命令行提示
|
|
2
|
+
|
|
3
|
+
你运行在 Windows 上。优先绕过 shell,只有需要 shell 运算符时才进入 cmd.exe:
|
|
4
|
+
|
|
5
|
+
- 单个程序优先用 `run_process`,把可执行文件和每个参数分别放进 `executable` / `args`。它使用 `shell:false`,不会让 cmd.exe 再解释引号、反斜杠、`&`、`%VAR%` 等内容。
|
|
6
|
+
- 多行或引号密集的 Python/Node 代码必须用 `run_script`。不要塞进 `python -c` / `node -e`;Windows 下复杂内联代码会被 `run_command` 拒绝,避免命令返回 0 却实际执行了不同代码。
|
|
7
|
+
- `run_command` 仅用于 `&&`、管道、重定向等必须由 shell 解析的场景;它通过 cmd.exe 执行,不是 bash,也不是 PowerShell。
|
|
8
|
+
- 双引号在 cmd.exe、Node 的 shell 封装和目标程序的 argv 解析之间会经历多层处理;是否保留或剥离取决于具体调用链,不能假设会“原样到达”。单引号在 cmd.exe 中不是可靠的引用字符。
|
|
9
|
+
- 使用各命令工具的 `cwd` 参数切换工作目录,不要前置 `cd /d ... &&`。只有手工编写纯 cmd 命令时,跨盘 `cd` 才需要 `/d`。
|
|
10
|
+
- PowerShell 专用语法(Get-Item、2>$null、Select-Object)不能直接写进 `run_command`;确需使用时,用 `run_process` 显式执行 `powershell.exe` 并逐项传参。
|
|
11
|
+
- npm 11.x 在 Windows 上忽略 `--prefix` 对 `npm publish` 的作用。发布时把工具的 `cwd` 参数设为目标包目录,再执行 `npm publish`。
|
package/package.json
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "deepccc",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "A lightweight coding agent with OpenAI-compatible and Anthropic Messages API support.",
|
|
5
|
-
"license": "Apache-2.0",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"agent",
|
|
8
|
-
"deepseek",
|
|
9
|
-
"coding-agent",
|
|
10
|
-
"openai-compatible",
|
|
11
|
-
"anthropic",
|
|
12
|
-
"cli"
|
|
13
|
-
],
|
|
14
|
-
"repository": {
|
|
15
|
-
"type": "git",
|
|
16
|
-
"url": "git+https://github.com/wzj998/deepccc-agent.git"
|
|
17
|
-
},
|
|
18
|
-
"bugs": {
|
|
19
|
-
"url": "https://github.com/wzj998/deepccc-agent/issues"
|
|
20
|
-
},
|
|
21
|
-
"homepage": "https://github.com/wzj998/deepccc-agent#readme",
|
|
22
|
-
"type": "module",
|
|
23
|
-
"main": "./dist/index.js",
|
|
24
|
-
"types": "./dist/index.d.ts",
|
|
25
|
-
"exports": {
|
|
26
|
-
".": {
|
|
27
|
-
"types": "./dist/index.d.ts",
|
|
28
|
-
"import": "./dist/index.js"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"bin": {
|
|
32
|
-
"deepccc": "bin/deepccc.mjs",
|
|
33
|
-
"deepccc-cli": "bin/deepccc-cli.mjs"
|
|
34
|
-
},
|
|
35
|
-
"files": [
|
|
36
|
-
"dist/",
|
|
37
|
-
"bin/",
|
|
38
|
-
"docs/",
|
|
39
|
-
"os-prompts/",
|
|
40
|
-
"package.json",
|
|
41
|
-
"README.md",
|
|
42
|
-
"LICENSE"
|
|
43
|
-
],
|
|
44
|
-
"scripts": {
|
|
45
|
-
"dev": "tsx src/web-entry.ts",
|
|
46
|
-
"dev:cli": "tsx src/cli.ts",
|
|
47
|
-
"build": "node node_modules/typescript/bin/tsc -p tsconfig.build.json",
|
|
48
|
-
"prepack": "node node_modules/typescript/bin/tsc -p tsconfig.build.json",
|
|
49
|
-
"test": "vitest run",
|
|
50
|
-
"test:watch": "vitest",
|
|
51
|
-
"typecheck": "node node_modules/typescript/bin/tsc --noEmit"
|
|
52
|
-
},
|
|
53
|
-
"dependencies": {
|
|
54
|
-
"@ai-sdk/anthropic": "^3.0.105",
|
|
55
|
-
"@ai-sdk/openai-compatible": "^2.0.47",
|
|
56
|
-
"@vscode/ripgrep": "^1.18.0",
|
|
57
|
-
"ai": "^6.0.184"
|
|
58
|
-
},
|
|
59
|
-
"devDependencies": {
|
|
60
|
-
"@types/node": "^20.0.0",
|
|
61
|
-
"tsx": "^4.0.0",
|
|
62
|
-
"typescript": "^5.0.0",
|
|
63
|
-
"vitest": "^3.2.4"
|
|
64
|
-
},
|
|
65
|
-
"engines": {
|
|
66
|
-
"node": ">=20"
|
|
67
|
-
}
|
|
68
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "deepccc",
|
|
3
|
+
"version": "0.2.27",
|
|
4
|
+
"description": "A lightweight coding agent with OpenAI-compatible and Anthropic Messages API support.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"agent",
|
|
8
|
+
"deepseek",
|
|
9
|
+
"coding-agent",
|
|
10
|
+
"openai-compatible",
|
|
11
|
+
"anthropic",
|
|
12
|
+
"cli"
|
|
13
|
+
],
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/wzj998/deepccc-agent.git"
|
|
17
|
+
},
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/wzj998/deepccc-agent/issues"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://github.com/wzj998/deepccc-agent#readme",
|
|
22
|
+
"type": "module",
|
|
23
|
+
"main": "./dist/index.js",
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"import": "./dist/index.js"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"bin": {
|
|
32
|
+
"deepccc": "bin/deepccc.mjs",
|
|
33
|
+
"deepccc-cli": "bin/deepccc-cli.mjs"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist/",
|
|
37
|
+
"bin/",
|
|
38
|
+
"docs/",
|
|
39
|
+
"os-prompts/",
|
|
40
|
+
"package.json",
|
|
41
|
+
"README.md",
|
|
42
|
+
"LICENSE"
|
|
43
|
+
],
|
|
44
|
+
"scripts": {
|
|
45
|
+
"dev": "tsx src/web-entry.ts",
|
|
46
|
+
"dev:cli": "tsx src/cli.ts",
|
|
47
|
+
"build": "node node_modules/typescript/bin/tsc -p tsconfig.build.json",
|
|
48
|
+
"prepack": "node node_modules/typescript/bin/tsc -p tsconfig.build.json",
|
|
49
|
+
"test": "vitest run",
|
|
50
|
+
"test:watch": "vitest",
|
|
51
|
+
"typecheck": "node node_modules/typescript/bin/tsc --noEmit"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@ai-sdk/anthropic": "^3.0.105",
|
|
55
|
+
"@ai-sdk/openai-compatible": "^2.0.47",
|
|
56
|
+
"@vscode/ripgrep": "^1.18.0",
|
|
57
|
+
"ai": "^6.0.184"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@types/node": "^20.0.0",
|
|
61
|
+
"tsx": "^4.0.0",
|
|
62
|
+
"typescript": "^5.0.0",
|
|
63
|
+
"vitest": "^3.2.4"
|
|
64
|
+
},
|
|
65
|
+
"engines": {
|
|
66
|
+
"node": ">=20"
|
|
67
|
+
}
|
|
68
|
+
}
|