Skip to content
Merged

Dev #11

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
26 changes: 10 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,34 +13,28 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
version: 9

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'
bun-version: 1.3.11

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: bun install --frozen-lockfile

- name: Typecheck
run: pnpm typecheck
run: bun run typecheck

- name: Typecheck session store
run: pnpm exec tsc -p packages/session-sqlite/tsconfig.json --noEmit
run: bun x tsc -p packages/session-sqlite/tsconfig.json --noEmit

- name: Typecheck client
run: pnpm typecheck:client
run: bun run typecheck:client

- name: Run unit tests
run: pnpm test
run: bun run test

- name: Build agent-core
run: pnpm build:agent-core
run: bun run build:agent-core

- name: Build client
run: pnpm build:client
run: bun run build:client
16 changes: 5 additions & 11 deletions .github/workflows/deploy-gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,16 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
version: 9

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'
bun-version: 1.3.11

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: bun install --frozen-lockfile

- name: Build client
run: pnpm build:client
run: bun run build:client

- name: Deploy to gh-pages
uses: peaceiris/actions-gh-pages@v3
Expand Down
16 changes: 5 additions & 11 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,16 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
version: 9

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'
bun-version: 1.3.11

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: bun install --frozen-lockfile

- name: Build client
run: pnpm build:client
run: bun run build:client

- name: Deploy to gh-pages
uses: peaceiris/actions-gh-pages@v3
Expand Down
8 changes: 4 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## 项目概览

- 技术栈:TypeScript + React/Ink 终端 CLI,包管理器是 pnpm
- 技术栈:TypeScript + React/Ink 终端 CLI,包管理器是 bun
- 入口:`source/app.tsx` 是 CLI 应用;核心逻辑在 `packages/agent-core`。
- 会话历史存储:`packages/session-sqlite`,基于 Node 内置 `node:sqlite`。
- 测试:统一放在根目录 `tests/`,使用 Vitest,命名 `*.spec.ts` 或 `*.test.ts`。
Expand Down Expand Up @@ -34,12 +34,12 @@
5. 修改会话存储相关代码时,至少覆盖会话创建、条目追加、泳道/分支、记录、统计和租约。
6. 修改完成后必须运行完整测试:
```bash
pnpm test
bun run test
```
7. 提交前必须通过类型检查:
```bash
pnpm typecheck
pnpm exec tsc -p packages/session-sqlite/tsconfig.json --noEmit
bun run typecheck
bun x tsc -p packages/session-sqlite/tsconfig.json --noEmit
```
8. 如测试失败,先修复问题再继续,不允许跳过或注释测试。

Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ call-code 是一个本地运行的终端编程 Agent(CLI coding agent),基

- 终端交互界面:基于 Ink 的命令行界面,支持首页、对话、历史选择和相关页面预览。
- 双执行模式:`PLAN` 模式只允许生成计划和读取环境,`BUILD` 模式可以写入文件、执行命令并推进任务。
- 本地工具集:内置 `get_environment`、`read_file`、`write_file`、`list_files`、`run_command` 五个工具
- 本地工具集:内置 `get_environment`、`read_file`、`write_file`、`bash`、`git_diff`、`ocr_image` 六个工具
- 结构化响应协议:模型输出统一为 `tool_call` 或 `final` 的 JSON action,循环解析并继续执行。
- 本地记忆:短期记忆按任务保存,长期记忆按主题沉淀,仅在进程内使用,不写入本地 JSON。
- 上下文预算:运行时基于 token 估算对历史消息做裁剪,减少超出模型上下文的风险。
Expand All @@ -35,7 +35,7 @@ agent-core 核心层
├─ protocol/ 解析 tool_call / final JSON action
├─ policy/ PLAN / BUILD 模式下的工具权限
├─ tools/ get_environment / read_file / write_file
list_files / run_command
bash / git_diff / ocr_image
├─ memory/ short / long 记忆(仅存内存,不落盘 JSON)
└─ prompt/ 系统提示词、工具说明与模式提示词
│ OpenAI chat.completions 请求(支持流式)
Expand Down Expand Up @@ -100,14 +100,14 @@ pnpm dev

## 环境变量

| 变量 | 说明 |
| --- | --- |
| `OPENAI_API_KEY` | 必填,OpenAI 兼容 API 的 Key。 |
| `OPENAI_API_BASE_URL` | 可选,自定义 OpenAI 兼容 base URL。 |
| `OPENAI_MODEL` | 必填,模型名称,无默认值;未配置时 CLI 会提示。 |
| `AGENT_DESKTOP_DIR` | 可选,覆盖桌面目录路径,便于测试或自定义工作环境。 |
| `SESSION_DB_PATH` | 可选,SQLite 会话库文件路径,默认 `.agent-sessions/sessions.db`。 |
| `CALL_CODE_WEB_DATA` | 可选,CLI 内 `/export` 的输出路径,默认 `packages/client/public/data.json`。 |
| 变量 | 说明 |
| --------------------- | ---------------------------------------------------------------------------- |
| `OPENAI_API_KEY` | 必填,OpenAI 兼容 API 的 Key。 |
| `OPENAI_API_BASE_URL` | 可选,自定义 OpenAI 兼容 base URL。 |
| `OPENAI_MODEL` | 必填,模型名称,无默认值;未配置时 CLI 会提示。 |
| `AGENT_DESKTOP_DIR` | 可选,覆盖桌面目录路径,便于测试或自定义工作环境。 |
| `SESSION_DB_PATH` | 可选,SQLite 会话库文件路径,默认 `.agent-sessions/sessions.db`。 |
| `CALL_CODE_WEB_DATA` | 可选,CLI 内 `/export` 的输出路径,默认 `packages/client/public/data.json`。 |

## CLI 命令与快捷键

Expand Down
15 changes: 15 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"typecheck:client": "tsc -p packages/client/tsconfig.json --noEmit",
"test": "vitest run --reporter verbose",
"build:agent-core": "tsc -p packages/agent-core/tsconfig.json",
"export:web": "tsx source/export-web.ts",
"export:web": "tsx tests/export-web.ts",
"dev:client": "bun run --cwd packages/client dev",
"build:client": "bun run --cwd packages/client build",
"preview:client": "bun run --cwd packages/client preview"
Expand Down
Loading
Loading