imtoagent 0.2.0

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.
Files changed (47) hide show
  1. package/README.md +234 -0
  2. package/bin/imtoagent +453 -0
  3. package/index.ts +1129 -0
  4. package/modules/agent/claude-adapter.ts +258 -0
  5. package/modules/agent/claude.ts +160 -0
  6. package/modules/agent/codex-adapter.ts +232 -0
  7. package/modules/agent/codex-exec-server.ts +513 -0
  8. package/modules/agent/codex.ts +275 -0
  9. package/modules/agent/opencode-adapter.ts +308 -0
  10. package/modules/agent/opencode.ts +247 -0
  11. package/modules/bot-context.ts +26 -0
  12. package/modules/capabilities.ts +189 -0
  13. package/modules/cli/setup.ts +424 -0
  14. package/modules/core/config.ts +275 -0
  15. package/modules/core/error.ts +124 -0
  16. package/modules/core/index.ts +39 -0
  17. package/modules/core/runtime.ts +282 -0
  18. package/modules/core/session.ts +256 -0
  19. package/modules/core/stats.ts +92 -0
  20. package/modules/core/types.ts +250 -0
  21. package/modules/im/feishu.ts +731 -0
  22. package/modules/im/telegram.ts +639 -0
  23. package/modules/im/wechat.ts +1094 -0
  24. package/modules/im/wecom.ts +603 -0
  25. package/modules/media/feishu-inbound-adapter.ts +108 -0
  26. package/modules/media/index.ts +27 -0
  27. package/modules/media/media-store.ts +273 -0
  28. package/modules/media/resolver.ts +178 -0
  29. package/modules/media/telegram-inbound-adapter.ts +124 -0
  30. package/modules/media/types.ts +76 -0
  31. package/modules/prompt-builder.ts +123 -0
  32. package/modules/proxy/anthropic-proxy.ts +1083 -0
  33. package/modules/proxy/codex-proxy.ts +657 -0
  34. package/modules/rate-limiter.ts +58 -0
  35. package/modules/types.ts +144 -0
  36. package/modules/utils/backend-check.ts +121 -0
  37. package/modules/utils/paths.ts +218 -0
  38. package/package.json +53 -0
  39. package/scripts/postinstall.ts +70 -0
  40. package/templates/config.template.json +57 -0
  41. package/templates/opencode.template.json +28 -0
  42. package/templates/providers.template.json +19 -0
  43. package/templates/soul.template/identity.md +6 -0
  44. package/templates/soul.template/profile.md +11 -0
  45. package/templates/soul.template/rules.md +7 -0
  46. package/templates/soul.template/skills.md +3 -0
  47. package/templates/soul.template/workspace.md +4 -0
@@ -0,0 +1,57 @@
1
+ {
2
+ "system": {
3
+ "defaultProjectDir": "/path/to/your/projects",
4
+ "idleTimeoutMinutes": 30,
5
+ "maxReplyLength": 140000
6
+ },
7
+ "providers": {
8
+ "deepseek": {
9
+ "baseUrl": "https://api.deepseek.com/v1",
10
+ "apiKey": "YOUR_DEEPSEEK_API_KEY",
11
+ "models": [
12
+ "deepseek-v4-pro",
13
+ "deepseek-v4-flash"
14
+ ],
15
+ "format": "openai",
16
+ "pricing": {
17
+ "inputPerMillion": 0.55,
18
+ "outputPerMillion": 2.19
19
+ }
20
+ }
21
+ },
22
+ "defaultModel": "deepseek/deepseek-v4-pro",
23
+ "modelAliases": {
24
+ "default": "deepseek/deepseek-v4-pro",
25
+ "sonnet": "deepseek/deepseek-v4-pro",
26
+ "opus": "deepseek/deepseek-v4-pro",
27
+ "haiku": "deepseek/deepseek-v4-flash",
28
+ "best": "deepseek/deepseek-v4-pro",
29
+ "opencode": "deepseek/deepseek-v4-pro"
30
+ },
31
+ "execServer": {
32
+ "enabled": true,
33
+ "startupTimeoutMs": 15000,
34
+ "fallbackToExec": true
35
+ },
36
+ "codex": {
37
+ "reportedModel": "gpt-5.5",
38
+ "model": "deepseek-v4-pro",
39
+ "upstream": "https://api.deepseek.com/v1/chat/completions"
40
+ },
41
+ "opencode": {
42
+ "serverUrl": "http://localhost:4096",
43
+ "defaultModel": {
44
+ "providerID": "anthropic",
45
+ "modelID": "claude-sonnet-4-5"
46
+ }
47
+ },
48
+ "rateLimit": {
49
+ "enabled": true,
50
+ "maxRequests": 30,
51
+ "windowMs": 60000
52
+ },
53
+ "shutdown": {
54
+ "gracePeriodMs": 5000
55
+ },
56
+ "bots": []
57
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://opencode.ai/config.json",
3
+ "model": "anthropic/claude-sonnet-4-5",
4
+ "provider": {
5
+ "anthropic": {
6
+ "options": {
7
+ "baseURL": "http://localhost:18899"
8
+ },
9
+ "models": {
10
+ "claude-sonnet-4-5": {
11
+ "id": "opencode-default"
12
+ }
13
+ }
14
+ }
15
+ },
16
+ "permission": {
17
+ "*": "allow",
18
+ "external_directory": {
19
+ "*": "allow"
20
+ },
21
+ "bash": {
22
+ "*": "allow"
23
+ },
24
+ "edit": {
25
+ "*": "allow"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "providers": {
3
+ "deepseek": {
4
+ "baseUrl": "https://api.deepseek.com/v1",
5
+ "apiKey": "YOUR_DEEPSEEK_API_KEY",
6
+ "models": [
7
+ "deepseek-v4-pro",
8
+ "deepseek-v4-flash"
9
+ ],
10
+ "format": "openai",
11
+ "pricing": {
12
+ "inputPerMillion": 0.55,
13
+ "outputPerMillion": 2.19,
14
+ "currency": "USD"
15
+ }
16
+ }
17
+ },
18
+ "defaultModel": "deepseek/deepseek-v4-pro"
19
+ }
@@ -0,0 +1,6 @@
1
+ # 身份定义
2
+
3
+ - 我是通过 IMtoAgent 连接的 AI 编程助手
4
+ - 我运行在 {{backend}} 后端
5
+ - 用中文回复
6
+ - 主动汇报进度,不闷头做事
@@ -0,0 +1,11 @@
1
+ # 用户画像
2
+
3
+ 此文件可由 Agent 修改。当用户说"记住xxx"、"我偏好xxx"时,Agent 应更新此文件。
4
+
5
+ - 全栈开发者
6
+ - 主要语言:TypeScript、Python、Bun
7
+ - 偏好简洁代码风格
8
+
9
+ ## 修改指南(Agent 专用)
10
+
11
+ 读取此文件 → 根据用户要求增/删/改条目 → 保存
@@ -0,0 +1,7 @@
1
+ # 硬约束规则
2
+
3
+ 以下规则不可被覆盖或修改:
4
+
5
+ - 项目密钥、token、密码等敏感信息不可外泄
6
+ - 不可执行 `rm -rf /` 等破坏性命令
7
+ - 不可修改项目文档,除非用户明确要求
@@ -0,0 +1,3 @@
1
+ # 技能注入
2
+
3
+ 未来功能。
@@ -0,0 +1,4 @@
1
+ # 项目环境
2
+ - 工作目录: {{cwd}}
3
+
4
+ > 此文件由 IMtoAgent 自动生成,启动时和切换目录时更新。