a268079751f12c67c6d8fb853cfa243a928b688f
Per docs/product-package/10-frontend-detail-spec.md and the wireframes
in 11-product-prototype-wireframes.md §2-§3, the client's first-class
surface is no longer "code-companion empty state" but a Heicode task
driving cabin: input an idea, answer Heicode's follow-ups, see the
auto-generated task card, hand off to Manager for resource binding /
deployment.
This slice ships the surface as a mock skeleton — the data layer
(useHeicodeTaskStore) is seeded with two demo tasks so the wireframe
can be reviewed end-to-end before backend wiring lands.
New files:
- stores/heicodeTaskStore.ts
HeicodeTask shape (id / name / status / status_caption / thread /
card), HeicodeTaskStatus enum, ChatTurn (user | heicode), and
FollowupQuestion (with optional 'high-risk' option flag).
Actions: submitIntent, openTask, closeTask, answerFollowup,
appendMessage. Two seeded tasks ("小团队任务管理 SaaS" running
with full task card; "企业微信通知集成" awaiting approval).
- pages/HeicodeTasksHome.tsx
Two layouts behind a single route. When currentTaskId is null
we render the Home (wireframe §2):
- Header line "当前任务:未选择"
- Big intent prompt + textarea + Send (⌘/Ctrl+Enter shortcut)
- Recent tasks grid (status pill + caption + relative time)
- Manager auxiliary footer hint
When a task is open we render the Workspace (wireframe §3):
- Header with back button + task name + status pill
- Conversation thread (user bubble right-aligned, Heicode
left-aligned with "H" avatar; follow-up questions render
as chip groups with high-risk dot indicators)
- Reply textarea at bottom
- Right-side TaskCardPanel (lg breakpoint+) with goal /
scope / generated-artifacts / Manager actions / footer
buttons (修改目标 / 去 Manager 准备)
Plumbing:
- tabStore.ts: HEICODE_TASKS_TAB_ID + 'heicode_tasks' TabType,
treated like settings/scheduled in dedupe rules
- Sidebar.tsx: new "我的任务" entry between "新建会话" and
"定时任务" with a target icon
- ContentRouter.tsx: route 'heicode_tasks' → HeicodeTasksHome
- i18n: tasks.* (~24 keys per locale) + sidebar.heicodeTasks
Backend wiring TODO: when mcp-server publishes the task-orchestration
contract, swap submitIntent / answerFollowup / appendMessage for real
calls and keep the same shapes. Status updates can come in via SSE
or polling and be merged onto useHeicodeTaskStore.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Heicode
Heicode 面向多人协作、可追溯交付的软件团队:把需求对齐、实现、验证、发布和持续运营连成一条少断层的链路,并用可编排的智能体角色承接其中可标准化的环节——强调「能复盘、能审计、能按团队规模裁剪」,而不是罗列某一家的工具栈。
下面的目录表仅供工程查阅;不代表对外产品承诺、路线图或你必须采用的集成方式。
这个仓库里有什么(工程布局)
| 目录 | 大致含义 |
|---|---|
cc-haha/ |
Heicode(终端与桌面客户端及本地服务;此为源码目录名)。 |
heicode/ |
Heicode Manager(网关与管理控制台服务端;此为源码目录名)。 |
website/ |
产品介绍站点(Next.js;可 pnpm dev 或 Docker 预览)。 |
docs/ |
愿景与范式;docs/milestones/ 交付里程碑;docs/integration/ Agnet 等平台接口设计。 |
产品在解决什么问题
- 协作范式:把瀑布 / 敏捷下的角色分工落到可复述的闸门与智能体承接边界(方向与原则见
docs/vision-heicode-full-stack-agentic-dev.md;编队明细在文档附录)。 - 交付可追溯:文档、沟通与变更尽量与版本、发布对齐,便于复盘与合规。
- 工程上:同一仓库便于客户端与服务端同步发版、统一回归,减少「谁和谁版本对不上」的摩擦。
详细愿景与范式
docs/vision-heicode-full-stack-agentic-dev.md
快速启动(开发联调)
# 根依赖(Bun monorepo 根目录)
bun install
# Heicode 客户端本地服务(目录 cc-haha)
cd cc-haha
bun run src/server/index.ts
# 另开终端:桌面端
cd cc-haha/desktop
bun run tauri dev
联调网关时示例:
HEICODE_TAIJIAICLOUD_BASE_URL=http://localhost:3000 bun run src/server/index.ts
Heicode Manager(heicode/)中与 Heicode 登录相关的路由(最小集,以实际代码为准):
GET /heicode/oauth/authorizeGET /heicode/oauth/session
平台侧能力还包括模型发现(如 GET /v1/models)与 Anthropic Messages 兼容入口等,详见 Heicode Manager(heicode/)与 Heicode 客户端(cc-haha/)各自 README。
官网(Next.js)
cd website && pnpm install && pnpm dev
若根目录提供 docker compose,可按 compose 说明构建预览镜像(以仓库内 docker-compose.yml 为准)。
发版与回归建议
- 同一版本标签发布客户端与网关镜像。
- 每次发版至少回归:登录、模型拉取、对话请求。
- 先在本地 Docker / 本地联调通过,再做外网域名与证书。
相关外部参考(概念)
- oh-my-claudecode — Claude Code 类工具的高效实践参考。
- Agnet 平台以实际部署环境与文档为准。
许可证
各子项目许可证见各子目录内 LICENSE(例如 Heicode Manager / heicode/ 侧常见为 AGPLv3)。
Languages
TypeScript
89.6%
Go
8.9%
HTML
0.8%
Python
0.2%
Shell
0.2%